
#pragma once

#include "NodalBC.h"

class PostprocessorTimeBC;

template <>
InputParameters validParams<PostprocessorTimeBC>();

/**
 * Boundary condition of a Dirichlet type
 *
 * Sets the value at the node to the value of a Postprocessor
 */
class PostprocessorTimeBC : public NodalBC
{
public:
	static InputParameters validParams();

	PostprocessorTimeBC(const InputParameters& parameters);

protected:
	virtual Real computeQpResidual() override;
	/// Time derivative of u
	const VariableValue& _u_dot;
	/// The value for this BC
	const PostprocessorValue& _postprocessor_value;
};
